Skip to content

feat(ui): implement commands#75

Open
renefloor wants to merge 2 commits intomain-design-systemfrom
feature/implement-commands
Open

feat(ui): implement commands#75
renefloor wants to merge 2 commits intomain-design-systemfrom
feature/implement-commands

Conversation

@renefloor
Copy link
Collaborator

@renefloor renefloor commented Mar 13, 2026

Submit a pull request

Linear: FLU-409

CLA

  • I have signed the Stream CLA (required).
  • The code changes follow best practices
  • Code changes are tested (add some information if not applicable)

Description of the pull request

This adds the command chip to the core library

Screenshots / Videos

image

Summary by CodeRabbit

  • New Features

    • Launched interactive design system gallery showcasing components with playgrounds and real-world examples.
    • Added theme customization studio with live color picker, brightness modes, and palette editing.
    • Introduced comprehensive component galleries (buttons, badges, avatars, inputs, and more) with interactive variants and usage patterns.
  • Chores

    • Updated CI/CD workflows for improved automation.
    • Enhanced linting rules for code quality.
    • Added project documentation and configuration files.

@renefloor renefloor requested a review from a team as a code owner March 13, 2026 16:46
@coderabbitai
Copy link

coderabbitai bot commented Mar 13, 2026

Caution

Review failed

Failed to post review comments

📝 Walkthrough

Walkthrough

This PR introduces a comprehensive Design System Gallery app and updates CI/CD workflows and lint configurations. It adds new GitHub workflows for publishing the gallery and updating golden files, expands the PR workflow's branch filters and semantic commit scopes, updates Flutter SDK to v6 in CI, modernizes linting rules, and implements an extensive Widgetbook-based gallery showcasing design system components with interactive playgrounds and static showcases.

Changes

Cohort / File(s) Summary
CI/CD Workflows
.github/workflows/pr_title.yml, .github/workflows/publish_gallery.yml, .github/workflows/stream_core_flutter_workflow.yml, .github/workflows/update_goldens.yml
Added publish gallery workflow triggered on main-design-system pushes; expanded PR workflow to include main-design-system branch and ui scope; added update goldens workflow for manual golden regeneration; upgraded checkout action to v6 and added IS_CI environment variable.
Lint & Analysis Configuration
all_lint_rules.yaml, analysis_options.yaml
Updated lint rules by removing 3 deprecated rules (always_require_non_null_named_parameters, avoid_returning_null, avoid_returning_null_for_future) and adding 27 new ones (annotate_redeclares, avoid_futureor_void, dangling_library_doc_comments, etc.); added formatter block with page_width 120 and trailing_commas preserve; disabled several new rules in analysis_options.
Documentation
CLAUDE.md, apps/design_system_gallery/README.md, apps/design_system_gallery/AGENTS.md, apps/design_system_gallery/devtools_options.yaml
Added comprehensive documentation: CLAUDE.md for Claude Code guidance, README for gallery features/setup, AGENTS.md for AI agent interaction patterns, and DevTools configuration file.
Gallery Infrastructure & Config
apps/design_system_gallery/.metadata, apps/design_system_gallery/lib/config/*, apps/design_system_gallery/lib/core/*, apps/design_system_gallery/lib/main.dart
Added Flutter metadata file, PreviewConfiguration and ThemeConfiguration observable classes for device/text/theme customization, PreviewWrapper for applying device frames and platform theming, core barrel exports, app entry point with Marionette binding initialization, and StreamSvgIcons utility.
Gallery App Shell & Home
apps/design_system_gallery/lib/app/gallery_app.dart, apps/design_system_gallery/lib/app/gallery_app.directories.g.dart, apps/design_system_gallery/lib/app/gallery_shell.dart, apps/design_system_gallery/lib/app/home.dart
Implemented main app widget with provider setup, generated Widgetbook directory tree (638 lines), responsive gallery shell with theme panel toggling and directory collapsing logic, and home page with logo, title, and feature chips.
Component Showcases (Accessories & Badge)
apps/design_system_gallery/lib/components/accessories/*, apps/design_system_gallery/lib/components/badge/*
Added playground and showcase builders for StreamAudioWaveformSlider, StreamEmoji, StreamFileTypeIcon, StreamBadgeCount, StreamBadgeNotification, and StreamOnlineIndicator with interactive controls and multi-section galleries.
Component Showcases (Avatar)
apps/design_system_gallery/lib/components/avatar/*
Implemented playground and showcase for StreamAvatar, StreamAvatarGroup, and StreamAvatarStack with size/color variants, usage patterns, and interactive configuration controls.
Component Showcases (Buttons & Common)
apps/design_system_gallery/lib/components/buttons/*, apps/design_system_gallery/lib/components/common/*
Added builders for StreamButton, StreamEmojiButton, StreamCheckbox, StreamFlex, and StreamProgressBar with interactive playgrounds, state variants, size scales, and real-world usage examples.
Component Showcases (Context Menu, Controls, Emoji)
apps/design_system_gallery/lib/components/context_menu/*, apps/design_system_gallery/lib/components/controls/*, apps/design_system_gallery/lib/components/emoji/*
Implemented StreamContextMenu, StreamCommandChip, StreamEmojiChip, StreamEmojiChipBar, and StreamEmojiPickerSheet showcases with action states, menu compositions, dialog integration, and interactive emoji selection.
Component Showcases (Message Composer, Reaction, Tiles)
apps/design_system_gallery/lib/components/message_composer/*, apps/design_system_gallery/lib/components/reaction/*, apps/design_system_gallery/lib/components/tiles/*
Added message composer playground and real-world examples with attachment previews (link, media, reply), stream reactions showcase with segmented/clustered variants, and list tile demonstrations with states and patterns.
Design System Primitives
apps/design_system_gallery/lib/primitives/*
Implemented showcases for StreamColors with copy-to-clipboard swatches, StreamIcons searchable grid, radius tokens with visual previews, and spacing scale with usage patterns and interactive cards.
Design System Semantics
apps/design_system_gallery/lib/semantics/*
Added elevation/shadow levels showcase with 3D stacked demo and interactive cards, and typography scale viewer with style cards, specs, and quick reference patterns.
Theme Customization UI
apps/design_system_gallery/lib/widgets/theme_studio/*
Implemented color customization panel with sections for brightness, brand, accent, text, background, border, state, and system colors; avatar palette editor with add/remove; helper widgets (ColorPickerTile, AvatarColorPairTile, SectionCard, ThemeStudioModeButton); and barrel export file.
Toolbar Widgets
apps/design_system_gallery/lib/widgets/toolbar/baselines_toggle.dart
Added BaselinesToggle widget for toggling text baseline visualization in debug mode.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • feat(ui): edit message #65: Both PRs modify .github/workflows/pr_title.yml (adding main-design-system branch, ui scope, and removing disabled gate), indicating coordinated CI/CD updates for design system workflows.

Poem

🐰 A gallery so grand with colors bright,
Components dancing left and right,
From badges bold to buttons new,
The design system shines right through,
With interactive showcases to explore,
Stream's beauty, now an open door! 🎨✨

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (2 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'feat(ui): implement commands' is vague and does not clearly describe the main change, which is adding the StreamCommandChip component to the design system gallery and core library. Use a more specific and descriptive title such as 'feat: add StreamCommandChip component to design system gallery' to clearly convey the primary change.
Description check ❓ Inconclusive The pull request description is incomplete; it lacks a detailed explanation of the changes beyond a single sentence, does not explain testing coverage, and provides minimal context about what was actually implemented. Expand the description to explain the changes in detail, describe how the command chip component works, clarify testing scope, and provide more comprehensive information about the implementation.
✅ Passed checks (1 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/implement-commands
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@renefloor renefloor changed the base branch from main to main-design-system March 13, 2026 16:48
@renefloor renefloor changed the title Feature/implement commands feat(ui): implement commands Mar 13, 2026
@renefloor renefloor closed this Mar 13, 2026
@renefloor renefloor reopened this Mar 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant